package com.hskn.hss.module.bigscreen.service;

import com.alibaba.fastjson.JSONObject;
import com.hskn.hss.exception.HssException;
import com.hskn.hss.module.bigscreen.entity.vo.Guideboard;
import com.hskn.hss.module.bigscreen.entity.vo.JxqsKaoQin;
import com.hskn.hss.module.bigscreen.entity.vo.exp.ExpTypeCar;
import com.hskn.hss.module.bigscreen.entity.vo.exp.ExpTypePerson;
import com.hskn.hss.module.bigscreen.entity.vo.jxqsscene.JxqsWorkPlan;
import com.hskn.hss.module.bigscreen.to.WorkPlanTo;
import com.hskn.hss.module.bigscreen.vo.*;
import com.hskn.hss.module.dataBigscreen.vo.AbnormalTypeVo;
import com.hskn.hss.module.rptCarWork.entity.RptCarWork;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author hskn
 * @since 2021-05-17
 */
public interface IBigScreenService {

    EmployeeMonitorVo personMonitor();

    CarMonitoringVo mechanicalCarMonitor();

    CarMonitoringVo pickupCarMonitor();

    List<Guideboard> guideBoards(JSONObject params) throws HssException;

    List<AbnormalTypeVo> expTypeCars() throws HssException;

    List<AbnormalTypeVo> expTypePerson() throws HssException;

    List<AbnormalTypeVo> expTypeFacilities() throws HssException;

    JSONObject expCarList(ExpListTO expListTO) throws HssException;

    JSONObject expPersonList(ExpListTO expListTO) throws HssException;

    JSONObject expFacilitiesList(ExpListTO expListTO) throws HssException;

    JSONObject todayException() throws HssException;

    List<JxqsKaoQin> jxzyWorkSceneList(JSONObject params) throws HssException;

    JSONObject jxzyWorkScene(JSONObject params) throws HssException;

    List<JxqsWorkPlan> getJxqsWorkByCar(JSONObject params) throws HssException;

    JSONObject ljqyWorkScene() throws HssException;

    ToDayAttendanceVo toDayAttendance();

    List<Guideboard> treeData(JSONObject params);

    List<RptCarWork> jxzyWorkDetail(JSONObject params) throws HssException;

    WorkResorceVo workResource() throws HssException;

    AllWorkByAppVo allWorkByApp();

    EmergencyByAppVo emergencyByApp();

    RptWorkVo getPlanList(WorkPlanTo workPlanTo);

    OnGuardRateVo employeeOnGuard();

    OnGuardRateVo carOnGuard();
}
